<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML-file</title>
    <!-- # 内容：HTML-file   作者：Mr.高    开发日期：2022/10/24 -->
    <style>
        li {
            color: red;
        }
    </style>


</head>
<body>
    <h1>linux笔记</h1>

    <div>
    <h2> 目录 </h2>
    <pre>
    1. <a href="#jczs">基础知识</a>
      1.1 <a href="#mlh" >命令行</a>
      1.2 <a href="#mlgs" >命令格式</a>
      1.3 <a href="#cs" >参数</a>
      1.4 <a href="#d" >点</a>
      1.5 <a href="#gmlwj" >根目录文件</a>
      1.6 <a href="#ckmlqb" >查看命令的区别</a>
    2. <a href="#jcml">基础命令</a>
      2.1 <a href="#wjmlml" >文件和目录命令</a>
        2.1.1 <a href="#cd" >切换路径</a>
        2.1.2 <a href="#pwd" >显示当前路径</a>
        2.1.3 <a href="#ls" >查看目录内容</a>
        2.1.4 <a href="#touch" >创建文件</a>
        2.1.5 <a href="#vi" >编辑文件</a>
        2.1.6 <a href="#mkdir" >创建目录</a>
        2.1.7 <a href="#rm" >删除文件或目录</a>
        2.1.8 <a href="#cp" >复制命令</a>
        2.1.9 <a href="#mv" >移动命令</a>
        2.1.10 <a href="#chmod" >修改文件或目录权限</a>
        2.1.11 <a href="#cat" >查看文件内容命令cat</a>
        2.1.12 <a href="#more" >查看文件内容命令more</a>
        2.1.13 <a href="#less" >查看文件内容命令less</a>
        2.1.14 <a href="#head" >查看文件头部命令</a>
        2.1.15 <a href="#tail" >查看文件尾部命令</a>
        2.1.16 <a href="#|" >管道连接命令</a>
        2.1.17 <a href="#grep" >过滤命令</a>
        2.1.18 <a href="#find" >查找文件或目录命令</a>
      2.2 <a href="#sbml">设备命令</a>
        2.2.1 <a href="#ctrlz" >强行停止命令</a>
        2.2.2 <a href="#clear" >清屏命令</a>
        2.2.3 <a href="#history" >查看执行过的命令</a>
        2.2.4 <a href="#cal" >查看当前日志</a>
        2.2.5 <a href="#date" >查看当前时间</a>
        2.2.6 <a href="#showdown" >开、关机命令</a>
        2.2.7 <a href="#ps" >查看进程命令</a>
        2.2.8 <a href="#kill" >杀进程命令</a>
        2.2.9 <a href="#top" >动态监控系统资源命令</a>
        2.2.10 <a href="#free" >查看系统内存命令</a>
        2.2.11 <a href="#df" >查看硬盘空间命令</a>
        2.2.12 <a href="#vmatat" >查看系统资源命令</a>
        2.2.13 <a href="#systemctl" >服务管理命令</a>
        2.2.14 <a href="#getenforce" >防火墙命令</a>
        2.2.15 <a href="#help" >帮助命令</a>
      2.3 <a href="#wlml">网络命令</a>
        2.3.1 <a href="#ifconfig" >查看ip地址命令</a>
        2.3.2 <a href="#ping" >测试本机与目标机的网络状况命令</a>
      2.4 <a href="#yhml">用户命令</a>
        2.4.1 <a href="#username" >创建用户命令</a>
        2.4.2 <a href="#usermod" >修改用户信息命令</a>
        2.4.3 <a href="#su" >切换用户命令</a>
        2.4.4 <a href="#userdel" >删除用户命令</a>
        2.4.5 <a href="#groupadd" >添加群组命令</a>
        2.4.6 <a href="#groupdel" >删除群组命令</a>
      2.5 <a href="#bglml">包管理命令</a>
        2.5.1 <a href="#tar" >tar包命令</a>
        2.5.2 <a href="#zip" >zip包命令</a>
        2.5.3 <a href="#yum" >yum软件包命令</a>
        2.5.4 <a href="#rpm" >rpm安装包管理命令</a>
    </pre>
    </div>

    <h2 id="jczs" >基础知识</h2>

    <p><ul type="dist"><pre>
        <li id="mlh" >命令行</li>
        [root    @locod host ~]#                    
        当前用户   主机名      属主目录/家目录
        <li id="mlgs" >命令格式</li>
        命令 -选项（可选）参数（可选）
        <li id="cs" >参数</li>
        -       选项的简写
        --      选项的全称
        <li id="d" >点</li>
        .文件名     凡是以点开头的都是隐藏文件
        .           代表当前目录
        ..          代表上一级目录 
        <li id="gmlwj" >根目录文件</li>
        /etc        保存系统管理所需要的配置文件和目录
        /bin        存放二进制可执行命令文件
        /sbin       存放系统命令
        /boot       存放系统内核，系统启动文件
        /dev        存放设备文件
        /lib        保存系统程序运行所需要的库文件
        /usr        存放用户所安装的应用程序文件
        /var        存放一些不断变化的文件
        /root       root属主目录
        /home       普通用户的属主目录
        /media      用于系统挂载的（光驱、u盘等设备）
        /mut        通常包括系统引导后被挂载的文件系统的挂载点
        /proc       虚拟目录，不实际存储在磁盘上，通常用来保存系统信息和进程信息
        /tmp        存储系统和用户的临时文件，该文件夹对所有用户都提供读写权限
        /opt        可选文件和程序的存放目录
        /sys        系统设备和文件层次结构，并向用户程序提供详细的内核数据信息
        /usr        包括与系统用户直接有关的文件和目录
        <li id="ckmlqb" >查看命令的区别</li>
        <b>
            cat、more、less、head、tail、find、grep
        </b>
        cat         查看文件的全部内容，适用于文件内容比较少
        more        进入查看模式，只能进行下翻
        less        进入查看模式，可以进行上翻、下翻
        head        查看文件的头部内容
        tail        查看文件的尾部内容（常用于查看日志）
        find        查找文件、目录
        grep        查看指定内容（常用与过滤）
    </pre></ul></p>
    <h2 id="jcml" >基础命令</h2>
    <h3 id="wjmlml" >文件和目录命令</h3>
    
    <p><ul type="disc"><pre>
        <li id="cd" >切换路径</li>
        cd 路径     切换路径    
        <li id="pwd" >显示当前路径</li>
        pwd         显示当前路径
        <li id="ls" >查看目录内容</li>
        ls          横向显示，不显示隐藏文件    
        ls -a       全部显示（包括隐藏）    
        ls -tl      纵向显示，按照时间排序  
        ll          按照列表的形式显示          
        ls -l | '^d'    只显示目录          
        ls -l | '^-'    只显示文件          
        <li id="touch" >创建文件</li>   
        touch 文件名             创建一个文件
        touch 文件名 文件名      创建多个文件      
        <li id="vi" >编辑文件</li>
        vi 文件名       文件存在，直接打开文件（文件不存在，新建文件后打开文件）        
        vi文件有三个模式    
        一般模式        打开文件后默认进入一般模式（只能看不能修改）    
        编辑模式    
        “i”键，进入编辑模式
        “ESC”键，回到一般模式    
        命令模式    
        输入英文“:”键，进入命令模式
        输入英文“:wq”键，保存并退出
        输入英文“:q!”键，不保存退出
        <li id="mkdir" >创建目录</li>
        mkdir 目录名                       创建一个目录
        mkdir 目录名 目录名                创建多个目录
        mkdir -p 目录名/目录名/目录名      多层创建
        mkdir 路径/目录名                  指定路径创建目录
        <li id="rm" >删除文件或目录</li>
        rm -r 文件名或目录名     删除文件或目录（提示确认）
        rm -rf 文件名或目录名    删除文件或目录（不提示确认）
        rm -rf 目录名/文件名     全部删除
        <li id="cp" >复制命令</li>
        cp 文件名 路径           复制文件到指定路径
        cp -r 目录名 路径        复制目录到指定路径
        <li id="mv" >移动命令</li>
        <b>没有指定的移动目录，那么mv命令变成重命名命令</b>
        mv 文件名或目录名 路径          移动文件或目录到指定路径（如果文件存在，不会覆盖文件，会进行提示）
        mv -f 文件名或目录名 路径       移动文件或目录到指定路径（如果文件存在，会覆盖文件，不进行提示）
        <li id="chmod" >修改文件或目录权限</li>
        <b>递归赋予权限，加上-R参数</b>
        权限加减法
        chmod 对象+权限 文件名或目录名   给对象加权限（u，g，o）
        chmod 对象=权限 文件名或目录名   给对象赋予权限（u，g，o）
        权限掩码法
        chmod 777 文件名或目录名         给对象赋予权限（u，g，o）
        <li id="cat" >查看文件内容命令cat</li>
        <b>不会进入查看模式</b>
        cat 文件名      打印全部内容，不打印行号
        cat -n 文件名   打印全部内容，打印行号
        cat -b 文件名   打印全部内容，打印行号，不打印空行
        <li id="more" >查看文件内容命令more</li>
        <b>
            会进入查看模式，无法进行上翻
            空格键  一页一页下翻
            回车键  一行一行下翻
            q、ESC键    退出查看模式
            </b>
        more +行数 -每页行数 文件名      查看文件内容，从某行开始，每页显示x行
        <li id="less" >查看文件内容命令less</li>
        <b>
            会进入查看模式
            方向上键    上翻
            方向下键    下翻
            </b>
        less 文件名             查看文件内容
        less -N 文件名          查看文件内容，打印行号
        <li id="head" >查看文件头部命令</li>
        <b>不会进入查看模式</b>
        head -行数 文件名       查看文件头部x行
        <li id="tail" >查看文件尾部命令</li>
        <b>会进入查看模式，无法进行上翻</b>
        tail -行数 文件名       查看文件尾部x行
        tail -f 文件名         实时查看文件尾部内容（多用于查看日志）
        <li id="|" >管道连接命令</li>
        <b>
        |命令通常和其他命令组合使用
        |    管道连接符
        </b>
        cat -n 文件名 | more -每页行数     查看文件内容，打印行号，每页显示x行
        cat -n 文件名 | head -行数         查看文件头部内容，打印行号
        cat -n 文件名 | tail -f            实时查看文件尾部内容，打印行号
        <li id="grep" >过滤命令</li>
        <b>
        grep命令通常和其他命令组合使用
        -i      不区分大小写
        -n      打印行号
        -A      后x行
        -B      前x行
        -C      前x行和后x行
        </b>
        cat -n 文件名 | grep -i 内容 -C -行数       查看文件内容，打印查询内容的前x行和后x行
        <li id="find" >查找文件或目录命令</li>
        <b>
        -name   指定文件名或目录名
        -i      忽略大小写
        *       通配符，代表任意
        ？      通配符，代表一位
        </b>
        find -iname "*".log     查找所有后缀名是.log的文件

    </pre></ul></p>

    <h3 id="sbml" >设备命令</h3>
    
    <p><ul type="dist"><pre>
        <li >延续命令</li>
        \           将命令延续到下一行
        <li id="ctrlz" >强制停止命令</li>
        ctrl + z    快捷键
        ctrl + c    快捷键
        <li id="clear" >清屏命令</li>
        clear       清屏命令
        ctrl + l    键盘快捷操作
        <li id="history" >查看执行过的命令</li>
        history     查看执行过的命令
        !命令编号    执行对应编号的命令
        <li id="cal" >查看当前日历</li>
        cal         查看当前日历
        <li id="date" >查看当前时间</li>
        date        查看当前时间
        date '+%y,%m,%d,%H,%M,%S'   设置时间（年，月，日，时，分，秒）
        <li id="showdown" >开、关机命令</li>
        <b>
        时间格式
        20:00   时分秒
        10      分钟
        </b>
        shutdown -h 时间       指定关机时间
        poweroff               立即关机
        shutdown -c            取消关机
        shutdown -r 时间       重启
        shutdown -r now        立即重启
        reboot                 立即重启
        <li id="ps" >查看进程</li>
        <b>
        -a   查看所有进程
        -u   显示用户
        -f   显示完整信息
        -e   显示所有进程（包括隐藏进程）
        e    显示环境变量
        -aux    显示所有包含其他使用者的行程
        --version   显示版本信息
        </b>
        ps -ef      显示所有进程的完整信息
        ps -aux     显示所有包含其他使用者的行程
        ps -C 命令      显示使用命令的状况
        ps -ef | grep 进程号   查看某进程
        <li id="kill" >杀进程命令</li>
        kill 进程号                 杀死进程
        kill -9 进程号              强杀进程
        kill -9 进程号 进程号       连杀进程
        <li id="top" >动态监控系统资源命令</li>
        top     动态监控系统资源
        <li id="free" >查看系统内存命令</li>
        <b>
        -b      查看单位字节
        -k      查看单位千字节
        -m      查看单位兆
        -t      查看内存总计
        </b>
        free -mt    查看系统内存总计，以兆为单位
        <li id="df" >查看硬盘空间</li>
        df -m   查看硬盘空间
        <li id="vmstat" >查看系统资源命令</li>
        vmstat      查看系统资源
        <li id="systemctl" >服务管理命令</li>
        systemctl start 服务名      启动服务
        systemctl stop 服务名       停止服务
        systemctl restart 服务名    重启服务
        systemctl status 服务名     查看状态
        <li id="getenforce" >防火墙命令</li>
        <b>
        不是永久设置（重启之后恢复）
        disable         禁用模式
        permissive      宽容模式（关闭防火墙）
        enforcing       强制模式（打开防火墙）
        </b>
        getenforce          查看当前防火墙状态
        setenforce 0       关闭防火墙
        setenforce 1       打开防火墙
        <li id="help" >帮助命令</li>
        help 内部命令       查看内部命令帮助
        外部命令 help       查看外部命令帮助
        type 命令           判断命令是内部还是外部
        man 命令            查看帮助手册
        info 命令           查看帮助文档
    </pre></ul></p>
    <h3 id="wlml" >网络命令</h3>

    <p><ul><pre>
        <li id="ip" >查看ip地址命令</li>
        <b>
            ens33       本机网卡
            修改的ip地址不可以和别人重复
            永久修改ip地址
            先切换到/etc/sysconfig/network-scripts文件夹
            编辑ifcfg-网卡名字的文件
            不要轻易修改ip
        </b>
        ifconfig                查看ip地址
        ifconfig 网卡名字       查看网卡ip地址
        ifconfig 网卡名字 down      禁用网卡
        ifconfig 网卡名字 up        启用网卡
        ifconfig 网卡名字 ip地址    临时修改ip地址
        dhclient                   自动配置ip地址
        <li id="ping" >测试本机与目标机的网络状况命令</li>
        <b>
            packet loss 字段是丢包率
        </b>
        ping 目标机ip地址           测试本机与目标机的网络状况
        ping -C 次数 目标机ip地址   测试x次本机与目标机的网络状况
        <li id="netstat" >查看网络连接状况命令</li>
        <b>
        -a      显示所有
        -n      显示ip地址
        -l      显示正在监听的程序
        -p      显示使用主机的程序
        </b>
        netstat -an                显示整个网络状况
        netstat -lnp               显示正在使用中的程序
        netstat -an | grep 端口号       显示使用端口号的程序
        netstat -tlnpu             查看当前系统启用的端口
    </pre></ul></p>
    <h3 id="yhml" >用户命令</h3>
    <p><ul><pre>
        <li id="useradd" >创建用户命令</li>
        <b>
            指定群组号尽量大于2000
            群组号
            0           管理员root群组
            1~499       系统自用群组号
            65535       最大群组号
        </b>
        useradd 用户名                  添加用户，自动分配用户号群组号
        useradd -u 用户号 用户名        添加用户，指定用户号，自动分配群组号
        useradd -g 群组号 用户名        添加用户，指定自动分配用户号，指定群组号
        useradd -u 用户号 -g 群组号 用户名      添加用户，指定用户号，群组号
        <li id="usermod" >修改用户信息命令</li>
        <b>
            修改用户密码时，密码不显示，可以进行输入
        </b>
        passwd 用户名       修改用户密码
        usermod -u 用户号 用户名        设置用户的用户号（uid）
        usermod -g 群组号 用户名        设置用户的所属群组（可以用群组号或群组名）
        usermod -G 群组号 用户名        设置用户的附加群组
        <li id="su" >切换用户命令</li>
        <b>
            $       普通用户
            #       root用户
            exit    退回原来的用户
        </b>
        su 用户名           切换用户
        <li id="userdel" >删除用户命令</li>
        <b>
            手动删除邮件文件
            切换到 /var/spool/mail 目录下，其中的普通文件为邮件文件
        </b>
        userdel 用户名              删除用户（可能留下垃圾）
        userdel -r 用户名           删除用户（没有垃圾）
        <li id="groupadd" >添加群组命令</li>
        <b>
            cat group               查看所有群组
        </b>
        groupadd 群组名                 添加群组，自动分配群组号
        groupadd -g 群组号 群组名       添加群组，指定群组号
        <li id="groupdel" >删除群组命令</li>
        <b>
            删除群组前必须先将该群组内用户删除
        </b>
        groupdel 群组名             删除群组
        <li >用户查询</li>
        ls /home            查看根目录用户
        cat /etc/passwd     查看etc用户的目录
        id                  查看正在使用的用户信息
        id 用户名           查看用户的信息
    </pre></ul></p>

    <h3 id="bglml" >包管理命令</h3>

    <p><ul><pre>
        <li id="tar" >tar包命令</li>
        <b>
            -c      打包
            -x      解包
            -v      打包文件的详细信息
            -f      指定打包文件名（作为最后一个参数）
            -z      用gzip方式进行压缩
            -C      指定的目录
            包的后缀为.tar
            压缩包的后缀为.tar.gz
        </b>
        tar -cvf 包名.tar 打包的内容        打包文件
        tar -zcvf 包名.tar.gz 压缩的内容    压缩文件
        tar -xvf 包名.tar -C 指定路径       解包到指定路径
        tar -zxvf 包名.tar.gz 指定路径      解压缩包到指定路径
        <li id="zip" >zip包命令</li>
        zip -r 包名.zip 压缩内容            压缩zip包，递归压缩
        unzip 包名.zip -d 指定路径          指定目录解zip压缩包 
        <li id="yum" >yum软件包命令</li>
        <b>
            rpm软件包管理命令，联网下载，自动安装
            -h      显示帮助信息
            -y      全部回答y
            -c      指定配置文件
            -q      静默模式
            -v      显示安装细节
            -d      设置调试等级（0-10）
            -e      设置错误等级（0-10）
            -R      设置yum处理一个命令的最大等待时间
            -C      完全从缓存中运行，而不去下载或者更新任何头文件
            --disablerepo=repoidglob        临时禁用此处指定的软件仓库
            --enablerepo=repoidglob         临时启用此处指定的软件仓库
            --nogpgcheck                    运行的时候不进行签名检查
            --installroot                   指定一个安装路径
        </b>
        yum install 包名        安装指定软件包
        yum search 包名         检查指定软件包信息
        yum update 包名         更新指定的软件包
        yum remove 包名         删除指定的软件包
        yum erasr 包名          删除指定的软件包
        yum reinstall 包名      重装指定的软件包
        yum check-update        检查是否有可用的更新软件包
        yum list all            列出所有软件包（默认项）
        yum list installed      列出已经安装的软件包
        yum list updates        列出可以升级的软件包
        yum list available      列出仓库中未安装的可用软件包
        yum list enabled        列出已经启用的仓库
        yum list disabled       列出未启用的仓库
        yum clean all           清除全部缓存（默认项）
        yum clean packages      清除缓存目录下的软件包
        yum clean headers       清除缓存目录下的headers
        yum clean oldheaders    清除缓存目录下旧的headers
        yum clean all(- yum clean packages; yum clean oldheaders)       清除缓存目录下的软件包及旧的headers
        yum info 包名           显示指定的软件包的信息
        yum shell               进入yum的shell提示符
        yum resolvedep 包名     显示软件包的依赖关系
        yum localupdata         显示本地软件包更新
        yum deplist             显示软件包的所有依赖关系
        yum downgrade 包名      给指定的软件包降级
        yum provides 包名       查看指定的文件或命令属于x软件包
        yum history             查看yum命令的历史记录
        <b>
            yum install -y sl       安装跑火车包（sl    运行）
            yum install cowsay      安装动物说话包
            cowsay hello            运行动物说话
            cowsay -f dragon hello  切换成其他动物
            yum install htop -y     下载htop
            htop                    界面显示动态监控进程占用系统资源
            https://blog.csdn.net/zhaotiannuo_1998/article/details/88122030     菜鸟教程
            https://www.runoob.com/linux/linux-yum.html                         yum源
        </b>
        <li id="rpm" >rpm安装包管理命令</li>
        <b>
            -i      安装包
            -v      显示安装细节
            -h      显示安装进度
            -a      查询安装包
            -e      卸载安装包
            -q      使用询问模式
        </b>
        rpm -ivh 包名   安装包
        rpm -qa     查询当前主机所有安装包
        rpm -e      卸载安装包
    </pre></ul></p>
</body>
</html>